Designing an ornamental pattern has often involved a user creating a procedural model used to generate the pattern. Such models can be difficult to design and hard to control because they require users to learn the language of the procedural model. Accordingly, there is a need for efficient and/or otherwise improved systems and methods for designing ornamental patterns.